package com.divemotor.ventarepuestosinternet.service;
import java.util.List;
import com.divemotor.ventarepuestosinternet.exception.DivemotorBusinessException;
import com.divemotor.ventarepuestosinternet.model.Departamento;
import com.divemotor.ventarepuestosinternet.model.Distrito;
import com.divemotor.ventarepuestosinternet.model.Provincia;
import com.divemotor.ventarepuestosinternet.model.Sucursal;
import com.divemotor.ventarepuestosinternet.model.Usuario;
import com.divemotor.ventarepuestosinternet.model.Vendedor;

 public interface VendedorService {
	
	 Vendedor obtnerPorUsuario(Vendedor vendedor) throws DivemotorBusinessException;
	 Vendedor obtenerPorId(Integer idVendedor);
	 List<Vendedor> listarVendedores(Vendedor vendedor) throws DivemotorBusinessException;
	 void insertar(Vendedor vendedor) throws DivemotorBusinessException;
	 void actualizar(Vendedor vendedor) throws DivemotorBusinessException;
	 void eliminar(Vendedor vendedor) throws DivemotorBusinessException;
	 List<Vendedor> listar() throws DivemotorBusinessException;
	 void eliminarPorUsuario(Usuario usuario) throws DivemotorBusinessException;
	 void migrarUsuario(Integer tipoDeusuario, Vendedor vendedor)throws DivemotorBusinessException;
	 List<Vendedor> buscar(Vendedor vendedor) throws DivemotorBusinessException;
	 Vendedor obtenerPorUsuario(Usuario user) throws DivemotorBusinessException;
	 List<Distrito> obtenerDistritosPorVendedor(Integer idprovincia) throws DivemotorBusinessException;
	 List<Departamento> obtenerDepartamentosPorVendedor() throws DivemotorBusinessException;
	 List<Provincia> obtenerProvinciasPorVendedor(Integer idDepartamento) throws DivemotorBusinessException;
	 List<Sucursal> obtenerListaSucursales(Usuario obtenerUsuarioAutenticado) throws DivemotorBusinessException;
	 List<Vendedor> listarVendedoresPorSupervisorAutenticado() throws DivemotorBusinessException;
	 List<Vendedor> listarVendedores();
	
}
